main(List<String> args) {
  // 1.明确声明
  String name = 'zjd';
  int num = 18;
  double high = 1.88;
  // runtimeType用于获取变量当前的类型
  print(name.runtimeType);
  // 2.类型推到(var/final/const)
  // 1.var用来声明变量
  // 类型会自动推导,不能变更
  // age = 'aa';
  var age = 20;
  // 2.final声明常量不能变更
  final height = 20;
  // height = 19;
  // 3.const声明常量
  const address = 'wuhan';

  // 4.final和const的区别
  // 1.const 声明必须赋具体的值（在编译前）
  // 2.final是在运行时通过函数获取一个值（运行时）
  // const aaa; 声明时不赋会报错
  final width;
  width = 2;

  // final time = DateTime.now(); // 正确的运行时获取值
  // const time1 = DateTime.now();错误的，需要再编译时就声明值
}
